package AgentTravel.LogicObjects;
import java.io.Serializable;
import java.util.*;

import AgentTravel.LogicObjects.City.KnownCity;
import AgentTravel.LogicObjects.Language.KnownLanguage;


// Karta publicznych informacji o uzytkowniku
public class UserProfile implements Serializable
{
	private static final long serialVersionUID = 3248781914181243573L;

	public enum Gender{Male,Female};
	public enum PreferredGender{Male,Femal,Both};
		
	private String FirstName;
	private String Surname;
	private String city;
	private int bedsCount;
	private Gender myGender;
	private int age;
	private KnownLanguages languages;
	
	// tworzy jakiegos tam uzytkownika
	public UserProfile(String Name, String Surname)
	{
		this.FirstName=Name;
		this.Surname=Surname;
		this.city = KnownCity.Konstancin.name();
		this.bedsCount=1;
		this.myGender=Gender.Male;
		this.age=20;
		Collection<Language> tmpLang = new ArrayList<Language>();
		tmpLang.add(new Language(KnownLanguage.CocoJambo));
		languages = new KnownLanguages(tmpLang);
	}
	
	public String getFullName()
	{
		return FirstName+" "+Surname;
	}
	
	public void setFirstName(String firstName) {
		FirstName = firstName;
	}

	public String getFirstName() {
		return FirstName;
	}
	public void setSurname(String surname) {
		Surname = surname;
	}
	public String getSurname() {
		return Surname;
	}
	
	public void setCity(String city) {
		this.city = city;
	}
	public String getCity() {
		return city;
	}
	
	public void setBedsCount(int bedsCount) {
		this.bedsCount = bedsCount;
	}
	public int getBedsCount() {
		return bedsCount;
	}
	public void setMyGender(Gender myGender) {
		this.myGender = myGender;
	}
	public Gender getMyGender() {
		return myGender;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public int getAge() {
		return age;
	}

	/**
	 * @param languages the languages to set
	 */
	public void setLanguages(KnownLanguages languages) {
		this.languages = languages;
	}

	/**
	 * @return the languages
	 */
	public KnownLanguages getLanguages() {
		return languages;
	}
} 
